Шаг 4. Объединяем ветки с использованием режима fast-forward
Переключимся на ранее созданную ветку develop с помощью команды git switch develop, если вы были на другой ветке. Если у вас была установлена ветка develop, переключаться не нужно.
Далее внесём изменения в файл index.html. Добавим новый элемент <link>, в котором укажем путь до CSS-файла: <link rel="stylesheet" href="css/styles.css">. Самого файла пока нет, мы добавим его позже.
Сохраняем файл и добавляем изменение в индекс с помощью команды git add -A.
Теперь зафиксируем изменения с помощью команды git commit -m "feat: added the link element to index.html".
После коммита перейдём в ветку main с помощью команды git switch main.
Как вы можете заметить, наше изменение пропало — это нормально. Чтобы оно появилось, нужно влить ветку develop в ветку main. Для этого воспользуемся командой git merge develop. Эту команду нужно прописывать в той ветке, в которую мы будем вливать другую ветку, а не наоборот.
По умолчанию для этой команды установлена опция --ff, которая отвечает за режим fast-forward, поэтому мы ничего не прописывали, кроме названия ветки.
Теперь у нас появился элемент <link>.
Разберём вывод Git после использования команды:
- Первым сообщением он указал, что последний коммит на ветке был обновлён.
- Вторым — что был использован режим fast-forward.
- В третьем сообщении указан файл, в котором внесено изменение.
- В последней строке подведён итог, что изменён один файл, а также добавлена одна строчка.
Теперь посмотрим список всех коммитов и убедимся, что коммит, который вливался в ветку main, стал последним. Для этого воспользуемся командой git log --oneline --no-decorate. Опция --no-decorate убирает названия веток, на которых присутствуют коммиты, а также указатели.
Коммит отображается в ветке main, и он последний — всё прошло хорошо.
И в конце отправим все изменения в удалённый репозиторий с помощью команды git push --all. Эта команда отправляет изменения со всех существующих веток, что нам и нужно, так как ветку develop мы удалять не планируем.
Всё изменения успешно отправлены в удалённый репозиторий в обе ветки.